package com.slashmobility.finapps.model;

import java.util.Iterator;

import com.droidux.samples.trial.DroidUXApp;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

public class Preferences {
	private static Preferences INSTANCE;
	private static Context ctx;
	
	private String pisosIds;
	private String depositosIds;
	private String accionesIds;
     
	
    public static final Preferences getInstance(Context c) {
        ctx = c;    
        if (INSTANCE == null) INSTANCE = new Preferences();
    	return INSTANCE;
    }

     
    private Preferences() {     
    	readPrefs();
    }  
    
    /**
     * Recupera las preferencias
     */
	private void readPrefs() {
		DroidUXApp app = (DroidUXApp) ((Activity) ctx).getApplication();
		ModelUser user = app.getModelUser();
		
		SharedPreferences prefs = ctx.getSharedPreferences(user.getName(), Context.MODE_PRIVATE);

		pisosIds = prefs.getString("pisosIds", "");
		accionesIds = prefs.getString("accionesIds", "");
		depositosIds = prefs.getString("depositosIds", "");
	}

	/**
	 * Genera los datos a guardar y los guarda en las preferencias
	 */
	public void writePrefs() {
		DroidUXApp app = (DroidUXApp) ((Activity) ctx).getApplication();
		ModelUser user = app.getModelUser();
		
		String accionesIds = user.buildIdsString(DataModelValue.class);
		String pisosIds = user.buildIdsString(ModelPiso.class);
		String depositosIds = user.buildIdsString(ModelDeposito.class);
		
		SharedPreferences prefs = ctx.getSharedPreferences(user.getName(), Context.MODE_PRIVATE);
		Editor editor = prefs.edit();
		
		editor.putString("accionesIds", accionesIds);
		editor.putString("pisosIds", pisosIds);
		editor.putString("depositosIds", depositosIds);
		editor.commit();
		readPrefs();
	}
	
	/**
	 * 
	 * @param id
	 * @return Cierto si el usuario ha comprado el piso
	 */
	public boolean pisoComprado(String id) {
		return pisosIds.contains("|" + id + "|");
	}
}
